const API=require('../../HTTP/api')
const AUTH=require('../../utils/auth')

Page({
  data: {
    //用户登录状态： 1:未登录  2:已登录
     userStatus:1
  },
  onLoad() {
  },
  async onShow() {
    //调取用户详情
   //this.getUserInfo()

   const valid=await AUTH.hasUserLoginChecked()

   if(valid) {
     this.getUserInfo()
   }else {
     //没登录，得登录一下
    await AUTH.authRegAndLogin()
   }
   
  },
  //打开获取用户信息授权窗口
  openUserInfo() {
    const _this=this;

    wx.getUserProfile({
      lang: 'zh_CN',
      desc:'请求用户授权',
      success(res) {
        console.log('用户头像信息：：：',res)
        //调用更新用户信息方法
        _this.updateUserInfo(res.userInfo)
      }
    })
  },

//更新用户信息方法
  async updateUserInfo(userInfo) {
  

    //判断用户是否登录
    const valid= AUTH.hasUserLoginChecked()

    //如果用户登录了
    if(valid) {
      
      //1.获取token
         const token=wx.getStorageSync('token')
      //2.拿到用户昵称  用户头像，省，市，性别，年龄，token
        const {city,nickName,province,avatarUrl,gender}=userInfo

      //3.调取更新用户接口上面的参数更新到后台数据库
      await API.updateUserApi({city,nick:nickName,province,avatarUrl,gender,token})

     //4.刷新当前用户界面 
      this.getUserInfo()

    }

   

  },

  //获取用户信息
  async getUserInfo() {
    const token=wx.getStorageSync('token')
    const res=await API.getUserDetailApi(token)

    //渲染的用户信息
    const _data={}

    _data.userinfo=res.data.base

    // console.log('用户详情：：：：：',res)

    //判断是否有用户头像和用户昵称
    if(res.data.base.nick && res.data.base.avatarUrl) {

      this.setData({
        userStatus:2
      })

    }else {
      this.setData({
        userStatus:1
      })
    }

    this.setData(_data)

  }
})
